What is distributed AGILE development?
AGILE software development has emerged as an alternative to the outdated, traditional software development methods. It 'acknowledges the need for an alternative to documentation driven, heavyweight software development processes'. The AGILE methodologies were not standardized upon its creation and thus, were often combined with more traditional methods in the 1990's. In 2001, the AGILE Alliance was created in Utah to aid the collaboration of ideas that are Following the AGILE methodology requires knowing the 4 values and 12 principles that are mentioned in the manifesto, which are listed below. These values and principles are found again in the practices that are done in AGILE development environments in the world now. User stories are a key part of the methodology, with tasks being divided up into smaller units so they could be divided up between members of the team. Daily meetings '''bring about a standard of accountability and unity to the team practices. Everyone has the chance to ask doubts or clarify what they are doing for the day. '''Incremental and iterative development '''emphasizes bringing about visible change every iteration that results in a better product for the consumer. This ensures that the maximal focus is on the product and that work is iteration-based. '''Milestone representation is another key factor in accountability; the focus is on how the team can achieve the milestones together and check if the pace is sustainable. In the sense that nobody is overworked and they are moving along at a steady pace. However, these ideas do not work so well in a distributed setting. The AGILE manifesto has several limitations which are exposed as soon as we move to a distributed setting. The push for lesser documentation backfires severely when there are dozens of people all around the world and they are all looking for the same information. There is also a poor framework in place for code reviews, important demos, etc. There is a distinct lack of support for applications where there is a huge workforce employed. Since communication channels emphasize personal connections, this will be hard to coordinate. Finally, scalability and transparency of the operations reduces greatly in a global scenario. There are more measures to take care of. Thus, was born the Distributed Agile Approach. This is a modification of the Agile Manifesto to suit companies with distributed company frameworks more. The phases necessary in this new model of AGILE are the bare minimum required to complete a project with as little deviation from the original AGILE idea. Essentially the idea entails a faster version of AGILE with more communication. The major emphasis is between the offshore client and the software developers. This ensures that there is never a moment when the client is not aware of the changes made by the development team or what the development team is doing currently. There is a increased onus on everyone to be amicable and responsive to each other as well. Thus, day to day communication patterns apart from the daily stand up are accepted as the norm in distributed environments. References: #S. Ilieva, P. Ivanov and E. Stefanova, "Analyses of an agile methodology implementation," Proceedings. 30th Euromicro Conference, 2004., 2004, pp. 326-333. doi: 10.1109/EURMIC.2004.1333387 #AGILE Manifesto, Accessed on 23 May 2018, http://agilemanifesto.org/principles.html